API
This section describes OLEM’s basic features and their associated MicroPython API. Each page explains a feature, shows examples, then lists its constants and functions.
Note: For now, all functions are contained in a single module named ‘olem’. This may change later on to have one module per feature group (one for all led functions for example).
All the functions are also listed on a single page in the olem module reference.
Movement
OLEM has 3 holonomic wheels which allow him to move in any direction and to freely combine movements in (x, y, theta).
LEDs
OLEM has a total of 6 RGB leds with 1 at each vertex. They can be used to light up areas under OLEM. Their index can be seen in the picture below:
Timing
Example
Floor sensors
OLEM has 6 sensors constantly detecting the floor. They return a signal proportional to the color of the area directly underneath the sensor. With a white surface resulting in the strongest signal and a black one or no surface at all giving the weakest signal.
Side sensors
The side sensors can be used to detect objects near OLEM. They can be seen up to 150 mm in a straight line from the sensor. [insert image of sensing area]
Top sensor
The top sensor is similar to a side sensor except it is … on top of OLEM. This means it will be sensing mostly player hands and can be used easily for user input.
Game messenger
Data can be exchanged with a wireless device in a channel independent from the normal shell. The default use case is the mobile app during games but it can also be used to interact with a computer through the Command Center.
Display
OLEM’s display is a LCD-TFT screen enabled with a capacitive touch panel. Its technical specifications are :
Audio
Example
NFC
The NFC sensor is positioned under OLEM between the two front wheels. It can be used to read data from tags when going over them. When NFC detection is enabled, OLEM reads any tag he comes across and stores its data, which can then be read using the API below.
Extension module
Olem has 4 extension slots, 2 of which are equipped with a connector that can be used to add new features to OLEM that require electronical components. The connectors have 4 pins :
System
Example